<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
// +----------------------------------------------------------------------
namespace Admin\Controller;
use Think\Controller;
/**
 * 后台首页控制器
 * @author 麦当苗儿 <zuojiazi@vip.qq.com>
 */
class MoneyTypeController extends AdminController {
    /**
     * 显示现有条目
     * 
     */
    public function index(){
    	
    	$data_list = D('MoneyType')->page(!empty($_GET["p"])?$_GET["p"]:1, C('ADMIN_PAGE_ROWS'))->where($map)->order('id desc')->select();
    	$page = new \Common\Util\Page(D('MoneyType')->where($map)->count(), C('ADMIN_PAGE_ROWS'));
    	//使用Builder快速建立列表页面。
        $builder = new \Common\Builder\ListBuilder();
        $builder->setMetaTitle('币种列表') //设置页面标题
                ->addTopButton('addnew')  //添加新增按钮
                ->addTopButton('resume')  //添加启用按钮
                ->addTopButton('forbid')  //添加禁用按钮
                ->addTopButton('delete')  //添加删除按钮
                ->addTableColumn('id', 'ID')
                ->addTableColumn('name', '名称')
                ->addTableColumn('icon', '图标', 'icon')
                ->addTableColumn('identification', '标识')
                ->addTableColumn('recharge_status', '充值状态', 'status')
                ->addTableColumn('is_withdrawals', '提现状态', 'status')
                ->addTableColumn('withdrawals_rate', '提现手续费')
                ->addTableColumn('transfer_accounts', '转账状态', 'status')
                ->addTableColumn('transfer_money', '转换')
                ->addTableColumn('is_reg', '报单币','status')
                ->addTableColumn('status', '状态', 'status')
                ->addTableColumn('right_button', '操作', 'btn')
                ->setTableDataList($data_list) //数据列表
                ->setTableDataPage($page->show()) //数据列表分页
                ->addRightButton('edit')   //添加编辑按钮
                ->addRightButton('forbid') //添加禁用/启用按钮
                ->addRightButton('delete') //添加删除按钮
                ->display();
    }
    /**
     * 添加条目
     */
    public function add(){
        
    	if(IS_POST){
    	    $currency_object = D('MoneyType');
    	   
    	    if(!empty($_POST['transfer_money'])){
    	    	$change_val='';
    	    	foreach ($_POST['transfer_money'] as $vo){
    	    		if(empty($change_val)){
    	    			$change_val=$vo;
    	    		}else{
    	    			$change_val=$change_val.','.$vo;
    	    		} 
    	    	}
    	    	$_POST['transfer_money']=$change_val;
    	    }
//     	    else{
//     	        $this->error('请选择转换币种');
//     	    }
    	    if($_POST['is_reg'] == 1)
    	    {
    	    	$info=$currency_object->where(array('is_reg'=>1))->select();
    	    	if($info)
    	    	{
    	    		$this->error('已经设置过报单币，不可重复设置');
    	    	}
    	    }
            $data = $currency_object->create($_POST);
            if($data){
                $id = $currency_object->add();
                if($id){   
                	D('TableAttribute')->addField('User','balance_'.$data['identification'],'decimal(11,2) unsigned','0.00',$data['name']);
                    $this->success('新增成功', U('index'));
                }else{
                    $this->error('新增失败');
                }
            }else{
                $this->error($currency_object->getError());
            }
    	}else{
    		$cur_list=M('MoneyType')->where(array('status'=>1))->select();
    		foreach ($cur_list as $vo){
    			//数字标识做键值
//     			$cur_arr[$vo['num_ident']]=$vo['name'];
    			//字母标识做键值
    			$cur_arr[$vo['identification']]=$vo['name'];
    		}
    		//使用FormBuilder快速建立表单页面。
    		$builder = new \Common\Builder\FormBuilder();
    		$builder->setMetaTitle('新增币种') //设置页面标题
    		->setPostUrl(U('add')) //设置表单提交地址
    		->addFormItem('name', 'text', '名称', '币种名称')
    		->addFormItem('icon', 'icon', '图标', '币种图标')
    		->addFormItem('identification', 'text', '标识', '字母标识')
    		->addFormItem('recharge_status', 'radio', '充值', '是否允许前台申请充值',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('is_withdrawals', 'radio', '提现', '是否允许申请提现',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('withdrawals_rate', 'text', '提现手续费', '提现手续费比例')
    		->addFormItem('is_reg', 'radio', '报单', '是否允许报单',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('transfer_accounts', 'radio', '转账', '是否允许会员间转账',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('transfer_money', 'checkbox', '转换', '币种转换', $cur_arr)
    		->display();
    	}		
    }
    /**
     * 修改条目
     */
    public function edit($id){
    	if(IS_POST){
    	 	$currency_object = D('MoneyType');
    	 	
//     	 	if(!empty($_POST['transfer_money'])){
//     	 		$change_val='';
//     	 		foreach ($_POST['transfer_money'] as $vo){
//     	 			if(empty($change_val)){
//     	 				$change_val=$vo;
//     	 			}else{
//     	 				$change_val=$change_val.','.$vo;
//     	 			}
//     	 		}
//     	 		$_POST['transfer_money']=$change_val;
//     	 	}else {
//     	 	    $this->error('请选择转换币种');
//     	 	}
    	 	if($_POST['is_reg'] == 1)
    	 	{
    	 		$info=$currency_object->where(array('id'=>array('neq',$_POST['id']),'is_reg'=>1))->select();
    	 		if($info)
    	 		{
    	 			 $this->error('已经设置过报单币，不可重复设置');
    	 		}
    	 	}
            $data = $currency_object->create($_POST);
			$last_money_type=$currency_object->where(array('id'=>$data['id']))->getField('identification');
            if($data){
                if($currency_object->save()!== false){ 
                	//D('TableAttribute')->updateField('User','balance_'.$data['identification'],'balance_'.$last_money_type,'decimal(11,2) unsigned','0.00',$data['name']);
                    $this->success('更新成功', U('index'));
                }else{
                    $this->error('更新失败');
                }
            }else{
                $this->error($currency_object->getError());
            }
    	}else{
    		$cur_list=M('MoneyType')->where(array('id'=>array('neq',$id),'status'=>1))->select();
    		foreach ($cur_list as $vo){
    			//数字标识做键值
//     			$cur_arr[$vo['num_ident']]=$vo['name'];
    			//字母标识做键值
    			$cur_arr[$vo['identification']]=$vo['name'];
    		}
    		//使用FormBuilder快速建立表单页面。
    		$builder = new \Common\Builder\FormBuilder();
    		$builder->setMetaTitle('编辑币种') //设置页面标题
    		->setPostUrl(U('edit')) //设置表单提交地址
    		->addFormItem('id', 'hidden', 'ID', 'ID')
    		->addFormItem('name', 'text', '名称', '币种名称')
    		->addFormItem('icon', 'icon', '图标', '币种图标')
    		->addFormItem('identification', 'text', '标识', '字母标识')
    		->addFormItem('recharge_status', 'radio', '充值', '是否允许前台申请充值',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('is_withdrawals', 'radio', '提现', '是否允许申请提现',array('0'=>'不允许','1'=>'允许'))
    		->addFormItem('is_reg', 'radio', '报单币', '是否是报单币',array('0'=>'不是','1'=>'是'))
    		->addFormItem('withdrawals_rate', 'text', '提现手续费', '提现手续费比例')
    		->addFormItem('transfer_accounts', 'radio', '转账', '是否允许会员间转账',array('0'=>'不允许','1'=>'允许'))
//     		->addFormItem('transfer_money', 'checkbox', '转换', '币种转换', $cur_arr)
    		->setFormData(D('MoneyType')->find($id))
    		->display();
    	}
    
    }
}
